技術(shù)博客INFO
        聯(lián)系我們CONTACT

        公司地址:茂名市人民南路新村大院22號(hào)101

        電話:13592986386

        python關(guān)于操作mongDB數(shù)據(jù)庫您當(dāng)前的位置:首頁 > python關(guān)于操作mongDB數(shù)據(jù)庫

        python關(guān)于操作mongDB數(shù)據(jù)庫

        發(fā)布時(shí)間:2024/9/3 21:26:10

        MongoDB作為一種流行的NoSQL數(shù)據(jù)庫,被廣泛應(yīng)用于各種項(xiàng)目中。Python的mongoengine庫是一個(gè)對(duì)象文檔映射(ODM)工具,旨在簡(jiǎn)化與MongoDB的交互。它提供了類似ORM(對(duì)象關(guān)系映射)的功能,使開發(fā)者能夠以面向?qū)ο蟮姆绞讲僮鱉ongoDB中的文檔。本文將詳細(xì)介紹mongoengine庫,包括其安裝方法、主要特性、基本和高級(jí)功能,以及實(shí)際應(yīng)用場(chǎng)景,幫助全面了解并掌握該庫的使用。





        1. 以管理員身份運(yùn)行命令行窗口,使用該命令將MongDB服務(wù)刪除掉

        sc delete MongoDB
        2. 刪除以后我們自己在data目錄下創(chuàng)建一個(gè)db文件夾;log目錄下創(chuàng)建一個(gè)MongoDB.log文件,如下:
        3. 重新裝一個(gè)MongoDB服務(wù)就可以了,在安裝目錄的bin中打開控制臺(tái)窗口輸入命令:
        mongod --dbpath=F:\mongodb\data\db  --logpath=F:\mongodb\log\MongoDB.log --install --serviceName "MongoDB"
        4. 再輸入 net start MongoDB啟動(dòng)服務(wù)




        C:\Program Files\MongoDB\Server\7.0\data\


        MongoDB安裝過程中出現(xiàn)service MongoDB failed to start,verify that you have sufficient privileges to start...

        打開(services.msc)服務(wù)界面,找到MongoDB Server,右鍵->屬性->登錄,登錄身份選擇本地系統(tǒng)賬戶(L)。



        from flask import Flask from flask_mongoengine import MongoEngine from mongoengine import QuerySet, Q
        
        
        
        
        app = Flask(__name__) # app.config.from_object(config)  # 載入config.py中的配置信息 app.config["MONGODB_SETTINGS"] = { 'db': 'data', # 'host': '10.108.45.90',  'host': 'localhost', 'port': 27017,
        } # 注冊(cè)實(shí)例 db = MongoEngine() # 使用dict()函數(shù)創(chuàng)建空字典 class TestMasterModelQuerySet(QuerySet): @property  def testpermission_description(self): """  權(quán)限描述 (可以獲取權(quán)限的屬性名)  :return:  """  desc_dict = dict()
                desc_dict["permission_edit_user_permission"] = { "label": "修改用戶權(quán)限", "order": 0  }
                desc_dict["permission_edit_user_info"] = { "label": "修改用戶信息", "order": 1  }
                desc_dict["permission_edit_process"] = { "label": "修改工藝圖", "order": 2  }
        
                desc_dict["permission_edit_alarm_threshold"] = { "label": "編輯實(shí)時(shí)標(biāo)簽點(diǎn)", "order": 3  }
                desc_dict["permission_edit_deal_alarm"] = { "label": "管理報(bào)警", "order": 4  } return desc_dict def testget_user(self, username): """查詢用戶 如果不存在返回None"""  try:
                    qs = self.get(username=username) return qs except Exception as e: return None   def testset_user_permission(self, username, permissions): try:
                    user = self.testget_user(username)
                    permission = self.testpermission_description for k, v in permission.items(): setattr(user, k, True if k in permissions else False)
                    user.save() return True  except Exception as e: return False  # 用戶管理 class TestMasterModel(db.Document): """人員表"""  meta = { 'queryset_class': TestMasterModelQuerySet, "collection": "master_model"  }
            username = db.StringField(null=False, unique=False, ) # 用戶名  password = db.StringField(null=False, unique=False, max_length=18, min_length=4) # 密碼  phone = db.StringField(null=True, max_length=11) # 電話  email = db.StringField(null=True) # 郵箱  department = db.StringField(null=True, unique=False, ) # 部門  # 權(quán)限  permission_edit_user_permission = db.BooleanField(default=False) # 編輯用戶權(quán)限  permission_edit_user_info = db.BooleanField(default=False) # 編輯用戶信息  permission_edit_process = db.BooleanField(default=False) # 編輯工藝圖  permission_edit_alarm_threshold = db.BooleanField(default=False) # 編輯報(bào)警閾值  permission_edit_deal_alarm = db.BooleanField(default=False) # 處理報(bào)警    # 鏈接數(shù)據(jù)庫 db.init_app(app) # 如果你想創(chuàng)建一個(gè)用戶實(shí)例 # new_user = TestMasterModel(username='root', password='123456',phone='13592986386',email='AAA@qq.com',department='development', #                        permission_edit_user_permission=True,permission_edit_user_info=True,permission_edit_process=True, #                        permission_edit_alarm_threshold=True,permission_edit_deal_alarm=True, #                        ) # new_user.save()  # 保存用戶到數(shù)據(jù)庫   @app.route('/') def index(): # 實(shí)例化Model  aaaa= TestMasterModel.objects.testget_user("root") print(aaaa) print(aaaa.password) return 'mongodb demo test finish'  if __name__ == "__main__":
            app.run(debug=True)



        有码中文AV无码中文,日本婬片在线视频,听筒婷婷色色激情五月,日本成人不卡免费at视频,亚洲综合日韩一区,人妻一区另类综合,女同欧洲亚洲一区二区,亚洲一区二区三区四